<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <style type="text/css">
    <!--
        h3.tighter {
            margin-top: 0px;
        }
        p.hang {
            padding-left: 25px;
            text-indent: -25px;
            margin-top: 0px;
            margin-bottom: 0px;
        }
        p.in1 {
            padding-left: 0px;
        }
        p.tightin1 {
            padding-left: 0px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin1 {
            padding-left: 0px;
            margin-bottom: 2px;
        }
        p.hangingin1 {
            padding-left: 50px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in2 {
            padding-left: 25px;
        }
        p.tightin2 {
            padding-left: 25px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin2 {
            padding-left: 25px;
            margin-bottom: 2px;
        }
        p.hangingin2 {
            padding-left: 75px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in3 {
            padding-left: 50px;
        }
        p.tightin3 {
            padding-left: 50px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin3 {
            padding-left: 50px;
            margin-bottom: 2px;
        }
        p.hangingin3 {
            padding-left: 100px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in4 {
            padding-left: 75px;
        }
        p.tightin4 {
            padding-left: 75px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin4 {
            padding-left: 75px;
            margin-bottom: 2px;
        }
        p.hangingin4 {
            padding-left: 125px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in5 {
            padding-left: 100px;
        }
        p.tightin5 {
            padding-left: 100px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin5 {
            padding-left: 100px;
            margin-bottom: 2px;
        }
        p.hangingin5 {
            padding-left: 150px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in6 {
            padding-left: 125px;
        }
        p.tightin6 {
            padding-left: 125px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin6 {
            padding-left: 125px;
            margin-bottom: 2px;
        }
        p.hangingin6 {
            padding-left: 175px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in7 {
            padding-left: 150px;
        }
        p.tightin7 {
            padding-left: 150px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin7 {
            padding-left: 150px;
            margin-bottom: 2px;
        }
        p.hangingin7 {
            padding-left: 200px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in8 {
            padding-left: 175px;
        }
        p.tightin8 {
            padding-left: 175px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin8 {
            padding-left: 175px;
            margin-bottom: 2px;
        }
        p.hangingin8 {
            padding-left: 225px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        p.in9 {
            padding-left: 200px;
        }
        p.tightin9 {
            padding-left: 200px;
            margin-top: 2px;
            margin-bottom: 2px;
        }
        p.halftightin9 {
            padding-left: 200px;
            margin-bottom: 2px;
        }
        p.hangingin9 {
            padding-left: 250px;
            text-indent: -50px;
            margin-top: 0px;
            margin-bottom: 1px;
        }
        div.hr {
            border: 0;
            width: 100%;
            color: #707070;
            background-color: #707070;
            height: 5px;
        }
    -->
</style>
<script type="text/javascript">
    function showExtra(id, imid) {
        if (document.getElementById(id).style.display == 'block') {
            document.getElementById(id).style.display = 'none';
            document.getElementById(imid).src = 'inform:/extra.png';
        } else {
            document.getElementById(id).style.display = 'block';
            document.getElementById(imid).src = 'inform:/extraclose.png';
        }
    }
</script>
</head>
<body><script language="JavaScript">function pasteCode(code) { var myProject = window.Project; myProject.selectView('source'); myProject.pasteCode(code); }</script>
<font face="lucida grande,geneva,arial,tahoma,verdana,helvetica,helv" size=2>
<!--CONTENT BEGINS-->
<!--NAVIGATION BEGINS-->
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="background-color: #e0e0e0"><tr><td width="8"><img src="inform:/tl_corner_e0e0e0.gif" width="8" height="8" border="0" alt="..." /></td><td></td><td width="8"><img src="inform:/tr_corner_e0e0e0.gif" width="8" height="8" border="0" alt="..." /></td></tr><tr><td width="8"></td><td><font face="lucida grande,geneva,arial,tahoma,verdana,helvetica,helv" size=2><table border="0" cellspacing="0" cellpadding="0" width=100%><tr><td align="left" valign="top" width="72"><font face="lucida grande,geneva,arial,tahoma,verdana,helvetica,helv" size=2><img border=1 src=inform:/doc_images/Actions.png title="The Actions Index"> &nbsp;&nbsp;&nbsp;&nbsp;</font></td><td align="left" valign="top"><font face="lucida grande,geneva,arial,tahoma,verdana,helvetica,helv" size=2><h3 class="tighter"><b>Actions</b>: Detail view&nbsp;&nbsp;<a href=../Actions.html><font color="#002060"><i>Back to full view</i></font></a></h3><p>
<p class="tightin1">A single action in detail.<br><i>About the action rulebooks&nbsp;&nbsp;<a href=inform:/doc188.html><img border=0 src=inform:/help.png></a></i></p>
</font></td></tr></table></font></td><td width="8"></td></tr><tr><td width="8"><img src="inform:/bl_corner_e0e0e0.gif" width="8" height="8" border="0" alt="..." /></td><td></td><td width="8"><img src="inform:/br_corner_e0e0e0.gif" width="8" height="8" border="0" alt="..." /></td></tr></table></p><p>
<!--NAVIGATION ENDS-->
<b>Standard actions which change the state of things</b><br>Locking it with&nbsp;<a href=16_A.html><img border=0 src=inform:/Beneath.png></a>, Unlocking it with&nbsp;<a href=17_A.html><img border=0 src=inform:/Beneath.png></a>, Switching on&nbsp;<a href=18_A.html><img border=0 src=inform:/Beneath.png></a>, Switching off&nbsp;<a href=19_A.html><img border=0 src=inform:/Beneath.png></a>, <b>Opening</b>&nbsp;<a href=20_A.html><img border=0 src=inform:/Beneath.png></a>, Closing&nbsp;<a href=21_A.html><img border=0 src=inform:/Beneath.png></a>, Wearing&nbsp;<a href=22_A.html><img border=0 src=inform:/Beneath.png></a>, Taking off&nbsp;<a href=23_A.html><img border=0 src=inform:/Beneath.png></a><p><hr><p><b>Opening <font color="#000080">something</font> </b><a name=Open></a> (<i>past tense</i> opened)<br>
<p>Opening makes something no longer
a physical barrier. The action can be performed on any kind of thing which
provides the either/or properties openable and open. The 'can't open unless
openable rule' tests to see if the noun both can be and actually is openable.
(It is assumed that anything which can be openable can also be open.)
In the Standard Rules, the container and door kinds both satisfy these
requirements.<br><br>In the event that the thing to be opened is also lockable, we are forbidden
to open it when it is locked. Both containers and doors can be lockable,
but the opening and closing actions would also work fine with kinds which
cannot be.<br><br>We can create a new kind on which opening and closing will work thus:
'A case file is a kind of thing. A case file can be openable.
A case file can be open. A case file is usually openable and closed.'<br><br>The meaning of open and closed is different for different kinds of thing.
When a container is closed, that means people outside cannot reach in,
and vice versa; when a door is closed, people cannot use the 'going' action
to pass through it. If we were to create a new kind such as 'case file',
we would also need to write rules to make the open and closed properties
interesting for this kind.<p><hr><p><b>Typed commands leading to this action</b><p>
<p class="hangingin2">&quot;open [something]&quot;</p><p><b>Rules controlling this action</b><p>
<p class="hangingin2">check&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor opening</i>&nbsp;&nbsp;<font color="#800000">can't open unless openable rule</font>&nbsp;&nbsp;<a href="javascript:pasteCode('can[=0x0027=]t open unless openable rule')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <a href="javascript:pasteCode('The can[=0x0027=]t open unless openable rule is not listed in the check opening rulebook.[=0x000A=]')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<p class="hangingin2">check&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor opening</i>&nbsp;&nbsp;<font color="#800000">can't open what's locked rule</font>&nbsp;&nbsp;<a href="javascript:pasteCode('can[=0x0027=]t open what[=0x0027=]s locked rule')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <a href="javascript:pasteCode('The can[=0x0027=]t open what[=0x0027=]s locked rule is not listed in the check opening rulebook.[=0x000A=]')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<p class="hangingin2">check&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor opening</i>&nbsp;&nbsp;<font color="#800000">can't open what's already open rule</font>&nbsp;&nbsp;<a href="javascript:pasteCode('can[=0x0027=]t open what[=0x0027=]s already open rule')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <a href="javascript:pasteCode('The can[=0x0027=]t open what[=0x0027=]s already open rule is not listed in the check opening rulebook.[=0x000A=]')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<br><p class="hangingin2">carry out&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor opening</i>&nbsp;&nbsp;<font color="#800000">standard opening rule</font>&nbsp;&nbsp;<a href="javascript:pasteCode('standard opening rule')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <a href="javascript:pasteCode('The standard opening rule is not listed in the carry out opening rulebook.[=0x000A=]')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<br><p class="hangingin2">report&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor opening</i>&nbsp;&nbsp;<font color="#800000">reveal any newly visible interior rule</font>&nbsp;&nbsp;<a href="javascript:pasteCode('reveal any newly visible interior rule')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <a href="javascript:pasteCode('The reveal any newly visible interior rule is not listed in the report opening rulebook.[=0x000A=]')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<p class="hangingin2">report&nbsp;&nbsp;&nbsp;&nbsp;<i>an actor opening</i>&nbsp;&nbsp;<font color="#800000">standard report opening rule</font>&nbsp;&nbsp;<a href="javascript:pasteCode('standard report opening rule')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>name</i> <a href="javascript:pasteCode('The standard report opening rule is not listed in the report opening rulebook.[=0x000A=]')"><img border=0 src=inform:/doc_images/paste.png></a>&nbsp;<i>unlist</i></p>
<br><p>
<!--CONTENT ENDS-->
</font></body></html>